'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.02
 * lastUpdateDate：2018.02.03
 * description：let / const的基本用法和区别
 */

/**
 * 1.var是属于函数级别作用域变量的声明，它是会提升到整个函数级别之上或全局的
 * 2.let是属于块级作用域变量的声明，只能在当前声明的块级作用域内或当前声明
 *   的子级的块级作用域访问
 * 3.注意：如果把let b;类似声明在全局，那么此时在块级外部也是可以访问到这个变量b的
 */

// let b;
{
    var a = 12;
    let b = 5;

    // 块级作用内部访问是没有问题的
    // console.log(a, b);

    {
        // 子级的块级作用域访问也是没有任何问题的
        // console.log(a, b);
    }
}

// 注意如果把let b;类似声明在全局，那么此时在块级外部也是可以访问到这个变量b的
// b is not defined
console.log(a, b);
